package com.xinqi.modules.discuss.discuss.dto.rsp;

import com.xinqi.common.core.enums.CourseContentTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 课程讨论主表-响应对象
 *
 * @author: yyzhen
 * @date: 2023/03/13
 */
@Data
public class CourseDiscussResultDTO implements Serializable {
    /**
     * 主键
     */
    private Long id;
    /**
     * 创建者
     */
    private Long createBy;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 标题
     */
    private String title;
    /**
     * 详情内容
     */
    private String content;
    /**
     * 附件
     */
    private String fileurls;
    /**
     * 视频j集合
     */
    private String videos;
    /**
     * 图片集合
     */
    private String images;
    /**
     * 班级ID
     */
    private Long classId;
    /**
     * 必须回复 0否 1是 (讨论专用)
     */
    private Integer isReplay;
    /**
     * 评论后可查看评论
     */
    private Integer commentView;
    /**
     * 是否同步发布到班级 0否 1是
     */
    private Integer synchro;
    /**
     * 同步的班级ID集合
     */
    private String classIds;
    /**
     * 是否置顶 0否 1是
     */
    private Integer isTop;
    /**
     * 置顶时间
     */
    private LocalDateTime topTime;
    /**
     * 是否精华 0否 1是
     */
    private Integer isSuper;
    /**
     * 是否立即发布，0否  1是
     */
    private Integer nowRelease;
    /**
     * 定时发布，0不定时 1定时
     */
    private Integer timing;
    /**
     * 发布时间
     */
    private LocalDateTime releaseTime;
    /**
     * 截止时间(各种类型结束时间)
     */
    private LocalDateTime endTime;
    /**
     * 发布状态
     */
    private Integer status;
    /**
     * 额外字段
     */
    private String extra;
    /**
     * 章节id
     */
    private Long chapterId;
    /**
     * 章节名称
     */
    private String chapterName;
    /**
     * 是否已读
     */
    private Integer isRead;
    /**
     * 是否参与
     */
    private Integer isPartake;
    /**
     * 昵称
     */
    private String nickname;
    /**
     * 用户角色
     */
    private String classRole;
    /**
     * 班级学生显示姓名
     */
    private String studentName;
    /**
     * 与学生的关系
     */
    private String relationship;
    /**
     * 学号
     */
    private String studentNumber;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 评论数
     */
    private Integer comments = 0;
    /**
     * 参与数（1/2 -- 1）
     */
    private Integer participants = 0;
    /**
     * 总数（1/2 -- 2）
     */
    private Integer total = 0;
    /**
     * 类型（移动移除章节公共使用）
     */
    private Integer typeEnum = CourseContentTypeEnum.DISCUSS.getCode();

    /**
     * 是否发布者
     */
    @Schema(description = "是否发布者")
    private Integer isPublish;

}
